The present invention relates to a data communication system that incorporates signal point-mapping and signal point-detecting.
One type of digital signal transmitter that has been proposed is illustrated in FIG. 1, wherein an information source 1 generates a digital signal to be transmitted. This digital signal is encoded by encoder 2, an example of which is illustrated in FIG. 2, whereby three bits of data (x3x2x1) are encoded into four bits of data (y3y2y1y0).
In FIG. 2, the 3 bits of input data (x3, x2, and x1) correspond, on a bit-by-bit basis, to the three most significant bits (y3, y2, and y1) of the output of encoder 2. Registers 11--13 and exclusive-OR circuits 14 and 15 use input bits x2 and x1 to calculate y0, which is the least significant bit of the output data (y3, y2, y1, y0).
In particular, bit x1 and data latched in register 11 are combined by exclusive-OR circuit 14, and the result is latched into register 12. The data latched in register 12 and bit x2 are combined by exclusive-OR circuit 15, and the result is latched in register 13. The data in register 13 is provided as output bit y0 and also is fed back to the input of register 11. In calculating bit y0, encoder 2 does not use the most significant bit x3 of the input signal or the most significant bit y3 of the output signal. Since these two bits do not participate in the calculation of bit y0, they are deemed to constitute a parallel path. In contrast, bits x2 and y2, and bits x1 and y1 do not constitute respective parallel paths because encoder 2 uses them to calculate bit y0. In this way, the encoder forms a convolution encoder having an encoding factor of 3/4 (ratio of input bits to output bits) and a restriction length of 4 (number of bits in the output).
The output of encoder 2 is supplied to mapping circuit 3 (FIG. 1), which maps this output according to a Trellis Code Modulation method such as PSK or QAM. Mapping circuit 3 generally comprises a ROM, which is pre-programmed with instructions for carrying out the signal point-mapping method, controlled by a CPU. The output of mapping circuit 3 is supplied to modulator 4, which then modulates a carrier wave according to the mapped signal; and the output of modulator 4 is transmitted over transmission line 5.
With respect to mapping circuit 3, a digital modulation method known as "16 QAM" may be used, for example. This is explained by recognizing that each 4-bit output signal (y3y2y1y0) can have any one of 16 possible values (0 to 15), so that the value of each such output signal is mapped to its corresponding signal point, as shown in FIG. 3. For example, if the output signal has a value of 2 (i.e., 0010 in binary notation), then the value of this output is mapped to signal point S2. If the output signal has a value of 8 (1000), it is mapped to signal point S8.
The sixteen signal points shown in FIG. 3 can each be resolved into two mutually perpendicular components, I and Q. The I component can be referred to as the cosine component, and the Q component can be viewed as the sine component. Each signal point is randomly assigned to a particular coordinate value in FIG. 3. For example, signal point S9 in FIG. 3 can be represented by the following equation: EQU S9=3 cos .omega.t+3 sin .omega.t (1)
If S.sub.ii and S.sub.iq are the equalized I component and Q component, respectively, of the signal point Si, equation (1) above can be generalized by the following formula: EQU Si=S.sub.ii.times.cos .omega.t+S.sub.iq.times.sin .omega.t (2)
where .omega. is the angular frequency of the carrier wave, and t is time.
The sixteen signal points S0-S15 shown in FIG. 3 are mapped from the 4 bits of information (y3y2y1y0) by the mapping circuit 3. According to the results of the mapping, the modulator 4 modulates the amplitude and phase of the carrier wave. That is, the product of the carrier wave and the I component is computed, the product of the carrier wave phase-shifted by 90 degrees and the Q component is computed, and both products are summed to produce an output signal. An encoded output signal (y3y2y1y0) that is mapped in accordance with the random arrangement of FIG. 3 will be vulnerable to noise in transmission line 5. Such noise is largely, though not exclusively, attributable to temperature variations that occur within the transmission line itself.
In order to reduce this vulnerability to transmission line noise, the 16 signal points are divided into 8 subsets or groups by a so-called set division method. The result of this set division method is illustrated in FIG. 4.
As shown in FIG. 4, the 16 signal points are divided into two subsets such that the distances between the signal points in each subset is maximized. Each subset is divided again into two subsets, and the distances between signal points in each of these subsets is also maximized. Each of these subsets is divided again into two subsets, and the distance between signal points here is also maximized. In this way, each subset is divided until, ultimately, the final subset contains two signal points. As a result, as shown in FIG. 5, eight subsets 0-7 are derived. Each subset includes two of the signal points of FIG. 3. For example, subset 0 includes signal point S0 (which has a value of (0000)) and signal point S8 (which has a value of (1000)). The signal points are paired in such a way that the three least significant bits of each signal point value in a subset are the same. Moreover, in each subset, the most significant bits of each signal point value (which correspond to the parallel path of FIG. 17) always are of opposite values. For example, in subset 0, the most significant bit of signal point S0 is "0", and the most significant bit of signal point S8 is "1"; furthermore, the three least significant bits of signal points S0 and S8 are "000".
With respect to the remaining subsets, subset 1 contains signal points S1 (0001) and S9 (1001). Subset 2 contains signal points S2 (0010) and S10 (1010). Subset 3 contains signal points S3 (0011) and S11 (1011). Subsets 4-7 contain similarly related signal points S4 and S12; S5 and S13; S6 and S14; and S7 and S15.
Within each subset of FIG. 5, the signal points can be arbitrarily assigned to each available location. For example, in subset 0, two signal points S0 and S8 can be assigned in such a way that the left upper point shown in FIG. 6A is allocated to S8, while the point shifted from the center slightly downwardly to the right is allocated to S0. As shown in FIG. 6B, the reverse allocation is also possible.
In this way, data mapped by the mapping circuit 3 as shown in FIG. 5 is entered into the modulator 4. The phase and amplitude of the carrier wave are modulated according to its signal points, and the wave is transmitted over the transmission line 5. That is, the modulator 4 generates the carrier wave represented by equation (2) above according to the signal point Si for transmission over the transmission line 5.
The carrier wave thus transmitted over the transmission line is received by a receiver constructed as shown in FIG. 7. In particular, demodulator 31 detects the I and Q components by performing a quadrature-carrier detection on the received carrier wave. These I and Q components are supplied to decoder 32, which is composed of a Viterbi decoder, for example. Decoder 32 decodes the I and Q components into the 3 bits of data (x3x2x1) that were originally generated at information source 1 of the digital transmitter.
In order for decoder 32 to decode a received signal point, it must determine to which of the 16 possible signal points of FIG. 5 the received signal point (which is specified by the I and Q components) corresponds. For example, as shown in FIG. 8, let it be assumed that P is a received signal point that has been demodulated by demodulator 31. Ideally, the position of signal point P would coincide precisely with the position of one of the 16 signal points in FIG. 8. However, noise in transmission line 5 degrades the received I and Q components of signal point P and this deterioration diverts the true position of signal point P from its ideal position. Decoder 32 finds the squares of the Euclidean distances between this signal point P and signal points S0-S15 of subsets 0-7. These distances are referred to as branch metrics. Decoder 32 assigns to signal point P the value of the signal point in FIG. 8 that is closest to signal point P. In subset 0 of FIG. 8, signal point P is closest to signal point S8. Therefore, signal point P is decoded as signal point S8, i.e., decoded as data 1000.
When a signal modulated as represented by equation (2) above is demodulated, the carrier wave is reproduced from the I and Q components by quadrature detection. The product of the reproduced carrier wave and the received signal is calculated, thus reproducing the I component, and the product of the 90.degree. phase-shifted reproduced carrier wave and the received signal is calculated, thus reproducing the Q component.
In a 90.degree.-symmetrical system such as 16 QAM, the carrier wave may be reproduced by a so-called Costas loop, which is well-known in the prior art. Nevertheless, if a carrier wave is reproduced by this method, phase shifts of 90.degree., 180.degree., or 270.degree. may occur therein.
For example, where no phase shift occurs, it is assumed that a signal point P as shown in FIG. 8 is received. If a phase shift of 90 degrees occurs, the signal point P is positioned in locations as shown in FIG. 9 in the subsets 0-7.
For example, when decoder 32 performs Viterbi decoding on signal point P, it calculates the branch metrics for each of the subsets 0-7. Decoder 32 then determines the minimum branch metric. As explained above, decoder 32 assigns to received signal point P the value of the closest signal point of FIG. 8. Decoder 32 then obtains from this value information about the parallel path of this signal point, which corresponds to the most significant bit of the value of this signal point. For example, in FIG. 2, bit x3 is the information corresponding to the parallel path.
As shown in FIG. 9, if the phase of the reproduced carrier wave (and, accordingly, the received signal point) shifts by 90.degree., the branch metrics in subsets 0-7 will consequently have incorrect values. Therefore, in order to obtain correct branch metrics, the position of signal point P must be returned to its correct position as shown in FIG. 8.
In practice, however, correct branch metrics can be obtained without reshifting signal point P to the positions illustrated in FIG. 8. For example, where signal point P is rotated through 90 degrees, the squared Euclidean distance between the correct signal point P and signal point S0 in subset and the squared Euclidean distance between signal point P and signal point S8 (i.e., the branch metric of subset 0 in FIG. 8) are equal to the squared Euclidean distance between signal point P and signal point S9 and the squared Euclidean distance between signal point P and signal point S1 in subset 1 in FIG. 9 (i.e., branch metric of subset 1 in FIG. 9).
Also, the squared Euclidean distance between the correct signal point P and signal point S9 in the subset 1 and the squared Euclidean distance between signal point P and signal point S1 (i.e., the branch metric of subset 1 in FIG. 8) are equal to values calculated in subset 2 in FIG. 9. That is, the squared Euclidean distance between signal point P and signal point s10 in subset 2 in FIG. 9 and the squared Euclidean distance between signal point P and signal point S2 are equal, respectively, to the squared Euclidean distance between signal point P and signal point S9 in subset 1 shown in FIG. 8 and the squared Euclidean distance between signal point P and signal point S1.
Similarly, the correct branch metric in subset 2 in FIG. 8 corresponds to a branch metric calculated in subset 3 in FIG. 9. The correct branch metric in subset 3 in FIG. 8 corresponds to a branch metric calculated in subset 0 in FIG. 9.
Furthermore, the correct branch metric in subset 4 in FIG. 8 corresponds to a branch metric calculated in subset 5 in FIG. 9. The correct branch metric in subset 5 in FIG. 8 corresponds to a branch metric calculated in subset 6 in FIG. 9. The correct branch metric in subset 6 in FIG. 8 corresponds to a branch metric computed in subset 7 in FIG. 9. And the correct branch metric in subset 7 in FIG. 8 corresponds to a branch metric calculated in subset 4 in FIG. 9.
Therefore, if the phase of a carrier wave is shifted by 90 degrees, correct branch metrics (i.e., branch metrics corresponding to a single point that has not been phase-shifted) can be obtained by realizing that the branch metrics of unshifted subsets 0,1,2,3 ( FIG. 8) are equal to the branch metrics of shifted subsets 1,2,3,0 (FIG. 9), respectively, and that the branch metrics of unshifted subsets 4,5,6,7 (FIG. 8) are equal to the branch metrics of shifted subsets 5,6,7,4 (FIG. 9), respectively. "Unshifted" refers to a phase shift of 0 degrees, and "shifted" refers to a phase shift of 0, 90, 180, or 270 degrees.
The disadvantage of this proposed system is that relying on adjacent subsets to obtain correct branch metrics will not yield correct parallel path information. As explained before, the information relating to a parallel path corresponds to the most significant bit of each signal point value. In subset 0 of FIG. 8 (which illustrates unshifted branch metrics), signal point So has parallel path data equal to 0, and signal point S8 has parallel path data equal to 1. In FIG. 9 (which illustrates shifted branch metrics), shifted signal point S9 has parallel path data equal to 1, and shifted signal point S1 has parallel path data equal to 0. As stated before, the branch metrics between signal point P and signal points S9 and S1 in shifted subset 1 (FIG. 9) are equal to the branch metrics between signal point P and signal points S0 and S8 in unshifted subset 0 (FIG. 8). Thus, unshifted signal point S8 (FIG. 8) corresponds to shifted signal point S1 (FIG. 9). However, the parallel path data of shifted signal point S9 (i.e., 1 of FIG. 9) does not equal the parallel path data of unshifted signal point S0 (i.e., 0 of FIG. 8). The same incongruity holds true for shifted signal point S1 and unshifted signal point S8. Therefore, in this proposed system, the obtained parallel path data of FIG. 9 must be recalculated to obtain the correct parallel path data of FIG. 8. But repeating this detection processing is time-consuming.
In view of the foregoing situations, the present invention has been made. The present invention is intended to detect information about parallel paths more quickly.